#pragma once
#include <map>
#include "ComboDropWnd.h"
#include "base/util/list_map.h"

namespace ui
{
	template<class ClassSelectMap>
	class UILIB_API MutilTreeComboTemplate : public MutilComboTemplate<ClassSelectMap>
	{
	public:
		MutilTreeComboTemplate(Layout* pLayout = new VLayout);
		MutilTreeComboTemplate(const MutilTreeComboTemplate& r) = delete;
		MutilTreeComboTemplate& operator=(const MutilTreeComboTemplate& r) = delete;
		virtual ~MutilTreeComboTemplate() {};
#if BUILD_XML_GUI	
		void InitAttrVistor();
#endif
		virtual bool CreateComboBody() override;
	};

	typedef MutilTreeComboTemplate<nbase::list_map<int, int>> UnOrderTreeCombo;
	typedef MutilTreeComboTemplate<std::map<int, int>> MutilTreeCombo;

} // namespace ui

